900
How do I get ride of the separator items when the user performs grouping

// Occurs after a new Group Item has been inserted to Items collection.
Procedure OnComAddGroupItem HITEM   llItem
	Forward Send OnComAddGroupItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComItemDividerLine of hoItems llItem to OLEEmptyLine
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortOrder of hoColumn to OLESortAscending
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComLinesAtRoot to OLEexGroupLinesOutside
	Send ComEndUpdate
End_Procedure
899
How do I split a cell in three parts, and having a radio button in each of them

// Fired after cell's state has been changed.
Procedure OnComCellStateChanged HITEM   llItem Integer   llColIndex
	Forward Send OnComCellStateChanged llItem llColIndex
	Variant v
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComCellCaption of hoItems llItem llColIndex to v
	Send Destroy to hoItems
	Showln v
End_Procedure

// Occurs when the user presses and then releases the left mouse button over the grid control.
Procedure OnComClick 
	Forward Send OnComClick 
	Variant h
	Get ComItemFromPoint -1 -1 c hit to h
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellState of hoItems1 h c to 1
	Send Destroy to hoItems1
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComFullRowSelect to OLEexColumnSel
	Set ComSelBackColor to (ComBackColor(Self))
	Set ComSelForeColor to (ComForeColor(Self))
	Set ComDrawGridLines to OLEexAllLines
	Set ComShowFocusRect to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Get ComAddItem of hoItems2 "entire" to h
		Get ComAddItem of hoItems2 "Radio <b>1" to h
		Set ComCellRadioGroup of hoItems2 h 0 to 100
		Set ComCellHasRadioButton of hoItems2 h 0 to True
		Set ComCellState of hoItems2 h 0 to 1
		Get ComSplitCell of hoItems2 h 0 to h
		Set ComCellValue of hoItems2 0 h to "Radio <b>2"
		Set ComCellRadioGroup of hoItems2 0 h to 100
		Set ComCellHasRadioButton of hoItems2 0 h to True
		Get ComSplitCell of hoItems2 0 h to h
		Set ComCellValue of hoItems2 0 h to "Radio <b>3"
		Set ComCellRadioGroup of hoItems2 0 h to 100
		Set ComCellHasRadioButton of hoItems2 0 h to True
		Get ComAddItem of hoItems2 "entire" to h
	Send Destroy to hoItems2
	Send ComEndUpdate
End_Procedure
898
Does your grid include a row indicator , like an arrow, bullet

// Fired after a new item has been selected.
Procedure OnComSelectionChanged 
	Forward Send OnComSelectionChanged 
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant hFocusItem
		Get ComFocusItem of hoItems to hFocusItem
		Variant vItem
			Variant voColumns
			Get ComColumns to voColumns
			Handle hoColumns
			Get Create (RefClass(cComColumns)) to hoColumns
			Set pvComObject of hoColumns to voColumns
				Variant voColumn
				Get ComItem of hoColumns "active" to voColumn
				Handle hoColumn
				Get Create (RefClass(cComColumn)) to hoColumn
				Set pvComObject of hoColumn to voColumn
					Variant voColumn1
					Get ComItem of hoColumn "active" to voColumn1
					Handle hoColumn1
					Get Create (RefClass(cComColumn)) to hoColumn1
					Set pvComObject of hoColumn1 to voColumn1
						Get ComData of hoColumn1 to vItem
					Send Destroy to hoColumn1
				Send Destroy to hoColumn
			Send Destroy to hoColumns
		Set ComCellValue of hoItems vItem "active" to ""
		Set ComCellValue of hoItems hFocusItem "active" to "<c><font symbol>·"
		Set ComCellVAlignment of hoItems hFocusItem "active" to OLEexBottom
			Variant voColumns1
			Get ComColumns to voColumns1
			Handle hoColumns1
			Get Create (RefClass(cComColumns)) to hoColumns1
			Set pvComObject of hoColumns1 to voColumns1
				Variant voColumn2
				Get ComItem of hoColumns1 "active" to voColumn2
				Handle hoColumn2
				Get Create (RefClass(cComColumn)) to hoColumn2
				Set pvComObject of hoColumn2 to voColumn2
					Variant voColumn3
					Get ComItem of hoColumn2 "active" to voColumn3
					Handle hoColumn3
					Get Create (RefClass(cComColumn)) to hoColumn3
					Set pvComObject of hoColumn3 to voColumn3
						Set ComData of hoColumn3 to hFocusItem
					Send Destroy to hoColumn3
				Send Destroy to hoColumn2
			Send Destroy to hoColumns1
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComShowFocusRect to False
	Set ComContinueColumnScroll to True
	Set ComScrollBySingleLine to True
	Set ComAutoDrag to (OLEexAutoDragScrollOnShortTouch + OLEexAutoDragScroll)
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn4
		Get ComAdd of hoColumns2 "" to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComKey of hoColumn4 to "active"
			Set ComPosition of hoColumn4 to 0
			Set ComAllowSizing of hoColumn4 to False
			Set ComWidth of hoColumn4 to 12
			Variant v
				Variant voItems1
				Get ComItems to voItems1
				Handle hoItems1
				Get Create (RefClass(cComItems)) to hoItems1
				Set pvComObject of hoItems1 to voItems1
					Get ComFocusItem of hoItems1 to v
				Send Destroy to hoItems1
			Set ComData of hoColumn4 to v
			Set ComDef of hoColumn4 OLEexCellValueFormat to 1
		Send Destroy to hoColumn4
	Send Destroy to hoColumns2
	Set ComCountLockedColumns to 1
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Set ComSelectItem of hoItems2 (ComNextVisibleItem(hoItems2,(ComFocusItem(hoItems2)))) to True
	Send Destroy to hoItems2
	Send ComEndUpdate
End_Procedure
897
How can I connect to a DBF file
Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to False
	Set ComContinueColumnScroll to False
	Variant rs
	Get Comcreateobject "ADODB.Recordset" to rs
		Send ComOpen "Select * From foxcode.DBF" "Provider=vfpoledb;Data Source=C:\Program Files\Microsoft Visual FoxPro 9\" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
End_Procedure
896
Does your control supports scrolling by touching the screen

Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComContinueColumnScroll to True
	Set ComScrollBySingleLine to True
	Set ComAutoDrag to (OLEexAutoDragScrollOnShortTouch + OLEexAutoDragScroll)
End_Procedure
895
How do I prevent showing the control's BackColorAlternate property on empty / non-items part of the control

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComBackColorAlternate to |CI$7ff0f0f0
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item 1" to Nothing
		Get ComAddItem of hoItems "Item 2" to Nothing
		Get ComAddItem of hoItems "Item 3" to Nothing
		Get ComAddItem of hoItems "Item 4" to Nothing
		Get ComAddItem of hoItems "Item 5" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
894
Is there any method for reading information from the root item for the current item...

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to True
	Set ComSearchColumnIndex to 0
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Info" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComPathSeparator of hoItems to " ; "
		Set ComSelectItem of hoItems (ComInsertItem(hoItems,(ComInsertItem(hoItems,(ComInsertItem(hoItems,(ComInsertItem(hoItems,,"Root")),"Child")),"Sub-Child")),"Sub-Sub-Child")) to True
		Set ComExpandItem of hoItems 0 to True
		Showln (ComFullPath(hoItems,(ComFocusItem(hoItems))))
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
893
How can I highlight items with a specified date

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Tasks" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Date" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortType of hoColumn to OLESortDate
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Task 1")) 1 to "12/13/2001"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Task 2")) 1 to "12/14/2001"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Task 2")) 1 to "12/15/2001"
	Send Destroy to hoItems
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "%1 = #12/14/2001#" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBold of hoConditionalFormat to True
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Send ComEndUpdate
End_Procedure
892
Today date is shown, if we use the Column.FormatColumn and Editor.Option(exDateAllowNullDate) properties. What can be done

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Date" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "len(value) ? ( (longdate(date(value)) left 3) + ' ' + day(date(value)) + '/' + month(date(value)) + '/' + (year(date(value)) right 2) ) : '' )"
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDateType
				Set ComOption of hoEditor OLEexDateAllowNullDate to True
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "5/12/2012" to Nothing
		Get ComAddItem of hoItems Nothing to Nothing
		Get ComAddItem of hoItems "5/14/2012" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
891
How can I add multiple values/columns on the same line/item/row

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSortOnClick to OLEexNoSort
	Set ComLinesAtRoot to OLEexGroupLinesOutside
	Set ComIndent to 13
	Set ComHeaderVisible to False
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Items" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Quantity" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Value" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLESpinType
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Items" to h
		Set ComCellValue of hoItems h 2 to "sum(current,dir,dbl(%1)*dbl(%2))"
		Set ComCellValueFormat of hoItems h 2 to OLEexTotalField
		Set ComFormatCell of hoItems h 2 to "`Total: `+ value"
		Set ComCellHAlignment of hoItems h 2 to OLERightAlignment
		Set ComCellBold of hoItems h 2 to True
		Set ComCellEditorVisible of hoItems h 2 to False
		Set ComCellEditorVisible of hoItems h 1 to False
		Variant h1
		Get ComInsertItem of hoItems h "Item 1" to h1
		Set ComCellValue of hoItems h1 1 to 10
		Set ComCellValue of hoItems h1 2 to 3
		Get ComInsertItem of hoItems h "Item 2" to h1
		Set ComCellValue of hoItems h1 1 to 20
		Set ComCellValue of hoItems h1 2 to 4
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
890
Is there a syntax for conditional formatting of items, based on CellState/CellStateChange

// Fired after cell's state has been changed.
Procedure OnComCellStateChanged HITEM   llItem Integer   llColIndex
	Forward Send OnComCellStateChanged llItem llColIndex
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems llItem 2 to (ComCellState(hoItems,llItem,0))
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComShowFocusRect to False
	Set ComSelBackMode to OLEexTransparent
	Variant v
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Get ComAdd of hoConditionalFormats "%2 != 0" Nothing to v
	Send Destroy to hoConditionalFormats
	Variant var_ConditionalFormat
	Move v to var_ConditionalFormat
		Set ComBold to True
		Set ComForeColor to (RGB(255,0,0))
		Set ComApplyTo to OLEexFormatToItems
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComWidth of hoColumn to 16
			Set ComAllowSizing of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "Information" to Nothing
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn1
		Get ComAdd of hoColumns2 "Hidden" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComVisible of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns2
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellValue of hoItems1 (ComAddItem(hoItems1,"")) 1 to "This is a bit of text associated"
		Variant h
		Get ComAddItem of hoItems1 "" to h
		Set ComCellValue of hoItems1 h 1 to "This is a bit of text associated"
		Set ComCellState of hoItems1 h 0 to 1
		Set ComCellValue of hoItems1 (ComAddItem(hoItems1,"")) 1 to "This is a bit of text associated"
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
889
How do I programatically focus a cell

// Occurs when a new cell is focused.
Procedure OnComFocusChanged 
	Forward Send OnComFocusChanged 
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant vColIndex
			Get ComFocusColumnIndex to vColIndex
		Set ComCellBackColor of hoItems (ComFocusItem(hoItems)) vColIndex to (RGB(255,0,0))
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSelForeColor to (ComForeColor(Self))
	Set ComSelBackColor to (ComBackColor(Self))
	Set ComDrawGridLines to OLEexRowLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column1" to Nothing
		Get ComAdd of hoColumns "Column2" to Nothing
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellValue of hoItems1 (ComAddItem(hoItems1,"Cell 1.1")) 1 to "Cell 1.2"
		Set ComCellValue of hoItems1 (ComAddItem(hoItems1,"Cell 2.1")) 1 to "Cell 2.2"
	Send Destroy to hoItems1
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Set ComSelectItem of hoItems2 (ComItemByIndex(hoItems2,1)) to True
	Send Destroy to hoItems2
	Set ComFocusColumnIndex to 1
	Send ComEndUpdate
End_Procedure
888
How do I programatically focus a cell (excrd)

// Occurs when a new cell is focused.
Procedure OnComFocusChanged 
	Forward Send OnComFocusChanged 
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant vColIndex
			Get ComFocusColumnIndex to vColIndex
		Set ComCellBackColor of hoItems (ComFocusItem(hoItems)) vColIndex to (RGB(255,0,0))
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSelForeColor to (ComForeColor(Self))
	Set ComSelBackColor to (ComBackColor(Self))
	Set ComDrawGridLines to OLEexRowLines
	Set ComDefaultItemHeight to 36
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Column2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComVisible of hoColumn1 to False
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Column3" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComVisible of hoColumn2 to False
		Send Destroy to hoColumn2
		Variant voColumn3
		Get ComAdd of hoColumns "FormatLevel" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComFormatLevel of hoColumn3 to "(0/1),2"
			Set ComDef of hoColumn3 OLEexCellFormatLevel to (ComFormatLevel(hoColumn3))
		Send Destroy to hoColumn3
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Variant h
		Get ComAddItem of hoItems1 "Cell 1.1" to h
		Set ComCellValue of hoItems1 h 1 to "Cell 1.2"
		Set ComCellValue of hoItems1 h 2 to "Cell 1.3"
		Get ComAddItem of hoItems1 "Cell 2.1" to h
		Set ComCellValue of hoItems1 h 1 to "Cell 2.2"
		Set ComCellValue of hoItems1 h 2 to "Cell 2.3"
	Send Destroy to hoItems1
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Set ComSelectItem of hoItems2 (ComItemByIndex(hoItems2,1)) to True
	Send Destroy to hoItems2
	Set ComFocusColumnIndex to 2
	Send ComEndUpdate
End_Procedure
887
How do I programmatically exclude items from the filter

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item 1" to Nothing
		Get ComAddItem of hoItems "Item 2" to Nothing
		Get ComAddItem of hoItems "Item 3" to Nothing
		Get ComAddItem of hoItems "Item 4" to Nothing
	Send Destroy to hoItems
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 0 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFilterType of hoColumn1 to (OLEexFilterExclude + OLEexFilter)
			Set ComFilter of hoColumn1 to "Item 1|Item 4"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
886
Using the property Column.FormatColumn I want to display numbers in the numeric format with no decimals - unless the value is NULL then I want to display a blank or empty

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Format" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "len(value) ? (value format '0') : '' "
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 10 to Nothing
		Get ComAddItem of hoItems Nothing to Nothing
		Get ComAddItem of hoItems -8 to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
885
How can I change the drop down filter background color

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComBackground OLEexBackColorFilter to (RGB(255,255,255))
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComFilterList of hoColumn to (OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc + OLEexLeafItems)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Get ComInsertItem of hoItems h "Child 3" to Nothing
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
884
I am using AllowGroupBy property and calling the Column.SortOrder property groups by that column. Is it possible to prevent that, so I have a similar behavior like I click the column's header rather than dragging it to the control's GroupBy bar

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "First" to Nothing
		Get ComAdd of hoColumns "Second" to Nothing
		Get ComAdd of hoColumns "Third" to Nothing
	Send Destroy to hoColumns
	Set ComSortBarVisible to True
	Set ComSingleSort to False
	Set ComAllowGroupBy to True
	Set ComLayout to "SingleSort = "C0:1";MultipleSort = "C1:2 C2:1""
End_Procedure
883
Calling programatically the Column.SortOrder property adds the column to the sort bar. Is it possible to prevent that, so I have a similar behavior like I click the column's header rather than dragging it to the control's Sort bar

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "First" to Nothing
		Get ComAdd of hoColumns "Second" to Nothing
		Get ComAdd of hoColumns "Third" to Nothing
	Send Destroy to hoColumns
	Set ComSortBarVisible to True
	Set ComSingleSort to False
	Set ComLayout to "SingleSort = "C0:1""
End_Procedure
882
How do I restore/clear the HotBackColor/HotForeColor properties

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHotBackColor to (RGB(0,0,255))
	Set ComHotForeColor to (RGB(255,255,255))
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Value" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "USD" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDef of hoColumn1 OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn1 to "len(%0) ? ((0:=dbl(%0)) < 10 ? '<fgcolor=808080><font ;7>' : '<b>') + `USD `+ (=:0 format ``)"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "EUR" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComDef of hoColumn2 OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn2 to "len(%0) ? ((0:=0.72*dbl(%0)) < 10 ? '<fgcolor=808080><font ;7>' : '<b>') + `EUR `+ (=:0 format ``)"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "1.23" to Nothing
		Get ComAddItem of hoItems "2.34" to Nothing
		Get ComAddItem of hoItems "9.94" to Nothing
		Get ComAddItem of hoItems "11.94" to Nothing
		Get ComAddItem of hoItems "1000" to Nothing
	Send Destroy to hoItems
	Set ComHotBackColor to (ComBackColor(Self))
	Set ComHotForeColor to (ComForeColor(Self))
	Send ComEndUpdate
End_Procedure
881
How do I format a column using a currency, and another column to another currency

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Value" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "USD" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDef of hoColumn1 OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn1 to "len(%0) ? ((0:=dbl(%0)) < 10 ? '<fgcolor=808080><font ;7>' : '<b>') + `USD `+ (=:0 format ``)"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "EUR" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComDef of hoColumn2 OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn2 to "len(%0) ? ((0:=0.72*dbl(%0)) < 10 ? '<fgcolor=808080><font ;7>' : '<b>') + `EUR `+ (=:0 format ``)"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "1.23" to Nothing
		Get ComAddItem of hoItems "2.34" to Nothing
		Get ComAddItem of hoItems "9.94" to Nothing
		Get ComAddItem of hoItems "11.94" to Nothing
		Get ComAddItem of hoItems "1000" to Nothing
	Send Destroy to hoItems
End_Procedure
880
How can I sort the columns to be displayed on the columns floating bar

Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "City" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Start" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComVisible of hoColumn1 to False
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "End" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComVisible of hoColumn2 to False
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Set ComColumnsFloatBarVisible to True
	Set ComColumnsFloatBarSortOrder to OLESortAscending
End_Procedure
879
How can I get the column index and the row index of the active cell

// Occurs when a new cell is focused.
Procedure OnComFocusChanged 
	Forward Send OnComFocusChanged 
	Variant v
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns (ComFocusColumnIndex(hoColumns)) to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Get ComCaption of hoColumn to v
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Showln "Active/Focus-Column:" v
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant vColIndex
			Get ComFocusColumnIndex to vColIndex
		Showln "Active/Focus-Row/Item:" (ComCellCaption(hoItems,(ComFocusItem(hoItems)),vColIndex))
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "C1" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Variant voEditor
			Get ComEditor of hoColumn1 to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
			Send Destroy to hoEditor
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns1 "C2" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Variant voEditor1
			Get ComEditor of hoColumn2 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLEEditType
			Send Destroy to hoEditor1
		Send Destroy to hoColumn2
		Variant voColumn3
		Get ComAdd of hoColumns1 "C3" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Variant voEditor2
			Get ComEditor of hoColumn3 to voEditor2
			Handle hoEditor2
			Get Create (RefClass(cComEditor)) to hoEditor2
			Set pvComObject of hoEditor2 to voEditor2
				Set ComEditType of hoEditor2 to OLEEditType
			Send Destroy to hoEditor2
		Send Destroy to hoColumn3
	Send Destroy to hoColumns1
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Variant h
		Get ComAddItem of hoItems1 1 to h
		Set ComCellValue of hoItems1 h 1 to 2
		Set ComCellValue of hoItems1 h 2 to 3
		Get ComAddItem of hoItems1 3 to h
		Set ComCellValue of hoItems1 h 1 to 1
		Set ComCellValue of hoItems1 h 2 to 2
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
878
How can I add a vertical padding

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComDrawGridLines to OLEexAllLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Padding" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComDef of hoColumn OLEexCellSingleLine to False
			Set ComDef of hoColumn OLEexCellPaddingLeft to 6
			Set ComDef of hoColumn OLEexCellPaddingRight to 6
			Set ComDef of hoColumn OLEexCellPaddingTop to 6
			Set ComDef of hoColumn OLEexCellPaddingBottom to 6
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "padding" to Nothing
		Get ComAddItem of hoItems "padding" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
877
How can I set item's height individually for every item in the control and also have line breaks in the item caption

Procedure OnCreate
	Forward Send OnCreate
	Set ComBackColorAlternate to (RGB(240,240,240))
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Lines" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
			Set ComDef of hoColumn OLEexCellSingleLine to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComItemsAllowSizing to OLEexResizeItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Line 1<br>Line 2" to h
		Set ComItemMinHeight of hoItems h to 36
		Set ComItemHeight of hoItems h to (ComItemMinHeight(hoItems,h))
		Set ComItemMaxHeight of hoItems h to (ComItemMinHeight(hoItems,h))
		Get ComAddItem of hoItems "Line 1<br>Line 2" to h
		Set ComItemMinHeight of hoItems h to 48
		Set ComItemHeight of hoItems h to (ComItemMinHeight(hoItems,h))
		Set ComItemMaxHeight of hoItems h to (ComItemMinHeight(hoItems,h))
		Get ComAddItem of hoItems "Line 1<br>Line 2" to h
		Set ComItemMinHeight of hoItems h to 64
		Set ComItemHeight of hoItems h to (ComItemMinHeight(hoItems,h))
		Set ComItemMaxHeight of hoItems h to (ComItemMinHeight(hoItems,h))
	Send Destroy to hoItems
End_Procedure
876
The mouse-cursor is shown over the tooltip. Is it possible somehow resolve this (method 2)

// Occurs when the user moves the mouse.
Procedure OnComMouseMove Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComMouseMove llButton llShift llX llY
	Send ComShowToolTip "This is bit of text that's shown when the user hovers the cell" "Column" 0 "+16" "+16"
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "tooltip" to Nothing
	Send Destroy to hoItems
End_Procedure
875
The mouse-cursor is shown over the tooltip. Is it possible somehow resolve this (method 1)
// Fired when the control prepares the object's tooltip.
Procedure OnComToolTip HITEM   llItem Integer   llColIndex Boolean   llVisible Integer   llX Integer   llY Integer   llCX Integer   llCY
	Forward Send OnComToolTip llItem llColIndex llVisible llX llY llCX llCY
	Move 0 to X
	Move 0 to Y
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellToolTip of hoItems (ComAddItem(hoItems,"tooltip")) 0 to "This is bit of text that's shown when the user hovers the cell"
	Send Destroy to hoItems
End_Procedure
874
How can I add a MIN or MAX field (for date)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Text" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortType of hoColumn to OLESortDate
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "1/1/2001" to Nothing
		Get ComAddItem of hoItems "12/11/1998" to Nothing
		Get ComAddItem of hoItems "1/20/2014" to Nothing
		Get ComAddItem of hoItems "1/1/2013" to Nothing
		Variant h
		Get ComAddItem of hoItems "min(all,dir,date(%0))" to h
		Set ComSortableItem of hoItems h to False
		Set ComCellValueFormat of hoItems h 0 to OLEexTotalField
		Set ComCellHAlignment of hoItems h 0 to OLERightAlignment
		Set ComFormatCell of hoItems h 0 to "'MIN: '+value"
		Get ComAddItem of hoItems "max(all,dir,date(%0))" to h
		Set ComSortableItem of hoItems h to False
		Set ComCellValueFormat of hoItems h 0 to OLEexTotalField
		Set ComCellHAlignment of hoItems h 0 to OLERightAlignment
		Set ComFormatCell of hoItems h 0 to "'MAX: '+value"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
873
How can I add a MIN or MAX field (for text)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Text" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortType of hoColumn to OLESortString
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "aha" to Nothing
		Get ComAddItem of hoItems "baba" to Nothing
		Get ComAddItem of hoItems "aaha" to Nothing
		Get ComAddItem of hoItems "aka" to Nothing
		Variant h
		Get ComAddItem of hoItems "min(all,dir,str(%0))" to h
		Set ComSortableItem of hoItems h to False
		Set ComCellValueFormat of hoItems h 0 to OLEexTotalField
		Set ComCellHAlignment of hoItems h 0 to OLERightAlignment
		Set ComFormatCell of hoItems h 0 to "'MIN: '+value"
		Get ComAddItem of hoItems "max(all,dir,str(%0))" to h
		Set ComSortableItem of hoItems h to False
		Set ComCellValueFormat of hoItems h 0 to OLEexTotalField
		Set ComCellHAlignment of hoItems h 0 to OLERightAlignment
		Set ComFormatCell of hoItems h 0 to "'MAX: '+value"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
872
How can I change the the focus rectangle

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAEhABeEGACAADACAxRDgMQBQKAAzQFAYbBlBaERiGQYIJhUAIIRZGMQxXAcMQvDSKQJhGDAADENAxAJCI4DBIgZQNDwZQIkCY4ZDKHIfRzNAASJIkTQPBKfYDGOLhSh6IJGRpPEIxdJMBr+fZ9QApeoYVj2J4eUCAFBxDRsZw8BiNAbkOi4Jp1f5nVJaFSxCKoSxbNqSBpGCzoJrKdI0R5JES2BAddTLBKzX7tHArLgSJ5dSrLMrwSKcRR1HSbIDyGaMUiCSqGVjWNZ5FREM46AAGbDgMILEgOZpoYDFVTZTKFCS7I6Eb40CCbCyPJQAabgWo4KAAZThNi7QAua4bTr7HqibLAexaJDOc4HVSgMLlIYEkIeg2iybAjDkfhMFuHY7mQT4xB0TBnFoUQ6i+cg2j2SIvHqVZIl8cB+BwTgPA4NRdjycg2FoHhuAMUZuHGUAwCECQUAaEYMHQHRHCGFRZEQAABO2AwRFCWQJAoGxECWTBHkGBxpg8RhYBMbJbD+TBzByfwwAwCIOCWCQiGiJgogqYh4hYIQ/k2cx9gEYQAAiRgqgsYx4mYLIOiOCMjjCTA4iScw8mMOQWEaEZkGkDgpguUIYm4SITmUCQaDuExjgkRhWhQJQ0A4ToVmWSQWFkAAljkdhiheZgZgoXIZCUWYaF2GgihmKhrg4JRJjYboVmaSIiHOHQnAkahph2ZYJmQAAxAwSQKESHwkFkKgoiAIxIHoPIimOOg2DiCgoiQJRQTYQxwn8MgMgoMoPiaYoaGCfw4A4CJNAkOpcGQBCAg==" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexShowFocusRect to |CI$1000000
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Check" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellPaddingLeft to 2
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComSelForeColor to (ComForeColor(Self))
	Set ComSelBackColor to (ComBackColor(Self))
	Set ComDefaultItemHeight to 22
	Set ComShowFocusRect to True
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "" to Nothing
		Get ComAddItem of hoItems "" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
871
Can each cell have their own dropdown lists that contain "different list item values" for each cell, not predefined for the entire column

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column/Cell-Same" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDropDownListType
				Send ComAddItem of hoEditor 0 "Zero" Nothing
				Send ComAddItem of hoEditor 1 "One" Nothing
				Send ComAddItem of hoEditor 2 "Two" Nothing
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Column/Cell-Different" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLEEditType
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems Nothing to Nothing
		Variant h
		Get ComAddItem of hoItems 0 to h
		Variant voEditor2
		Get ComCellEditor of hoItems h 1 to voEditor2
		Handle hoEditor2
		Get Create (RefClass(cComEditor)) to hoEditor2
		Set pvComObject of hoEditor2 to voEditor2
			Set ComEditType of hoEditor2 to OLEDropDownListType
			Send ComAddItem of hoEditor2 3 "Three" Nothing
			Send ComAddItem of hoEditor2 4 "Four" Nothing
		Send Destroy to hoEditor2
		Set ComCellValue of hoItems h 1 to 3
		Get ComAddItem of hoItems Nothing to Nothing
		Get ComAddItem of hoItems 0 to h
		Variant voEditor3
		Get ComCellEditor of hoItems h 1 to voEditor3
		Handle hoEditor3
		Get Create (RefClass(cComEditor)) to hoEditor3
		Set pvComObject of hoEditor3 to voEditor3
			Set ComEditType of hoEditor3 to OLECheckListType
			Send ComAddItem of hoEditor3 1 "Single" Nothing
			Send ComAddItem of hoEditor3 2 "Double" Nothing
		Send Destroy to hoEditor3
		Set ComCellValue of hoItems h 1 to 3
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
870
How can I specify just a few fonts in a FontType editor

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComDefaultItemHeight to 22
	Set ComDrawGridLines to OLEexRowLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Fonts" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEFontType
				Send ComClearItems of hoEditor
				Send ComAddItem of hoEditor 0 "Calibri" Nothing
				Send ComAddItem of hoEditor 1 "Arial" Nothing
				Send ComAddItem of hoEditor 2 "Rockwell" Nothing
				Send ComAddItem of hoEditor 3 "Tahoma" Nothing
				Send ComSortItems of hoEditor True Nothing
				Set ComDropDownRows of hoEditor to 4
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Tahoma" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
869
How do you embed HTML options into the anchor click string

// Occurs when an anchor element is clicked.
Procedure OnComAnchorClick String   llAnchorID String   llOptions
	Forward Send OnComAnchorClick llAnchorID llOptions
	Showln llAnchorID llOptions
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Car" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "<a mazda_1;options for 1>Mazda <b>1</b></a>" to Nothing
		Get ComAddItem of hoItems "<a mazda_2;options for 2>Mazda <b>2</b></a>" to Nothing
		Get ComAddItem of hoItems "<a mazda_3;options for 3a>Mazda <b>3.a</b></a>" to Nothing
		Get ComAddItem of hoItems "<a mazda_3;options for 3b>Mazda <b>3.b</b></a>" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
868
How do I add a checkbox column (method 2)

// Fired after cell's state has been changed.
Procedure OnComCellStateChanged HITEM   llItem Integer   llColIndex
	Forward Send OnComCellStateChanged llItem llColIndex
	Variant v
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComCellState of hoItems llItem llColIndex to v
	Send Destroy to hoItems
	Showln "CheckBox Changed:" v
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Check" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellState of hoItems1 (ComAddItem(hoItems1,"Check 1")) 0 to 0
		Set ComCellState of hoItems1 (ComAddItem(hoItems1,"Check 2")) 0 to 1
		Set ComCellState of hoItems1 (ComAddItem(hoItems1,"Check 3")) 0 to 0
		Set ComCellState of hoItems1 (ComAddItem(hoItems1,"Check 4")) 0 to 1
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
867
How do I add a checkbox column (method 1)

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Showln "CheckBox Changed:" llNewValue
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Check" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLECheckValueType
				Set ComOption of hoEditor OLEexCheckValue2 to 1
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 0 to Nothing
		Get ComAddItem of hoItems 1 to Nothing
		Get ComAddItem of hoItems 0 to Nothing
		Get ComAddItem of hoItems 1 to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
866
How do I change the progress bar's appearance

Procedure OnCreate
	Forward Send OnCreate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
		Get ComAdd of hoAppearance 2 "c:\exontrol\images\pushed.ebn" to Nothing
	Send Destroy to hoAppearance
	Variant v
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Progress" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Get ComEditor of hoColumn to v
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant var_Editor
	Move v to var_Editor
		Set ComEditType to OLEProgressBarType
		Set ComOption OLEexProgressBarBackColor to 16777216
		Set ComOption OLEexProgressBarMarkTicker to 33554432
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 33 to Nothing
	Send Destroy to hoItems
End_Procedure
865
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 3)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAEGg4BVEIQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQCWIAzATGYBRfIUEgjBM6ExwG78egBHp/ZpkACIJJAaRjHQdJxGKKMQB9DIhCZpeKhWgkKIJBzOEyBRC4ERBGqNGrsIgLEqWZpnWhaNpWXYTLyBN64LhuK46g53O6wLxvK6hEr2dJ/YBcIAOfghf4NQ7EMRxLC8Mw3BDvYDkOAABAIgI=" to Nothing
	Send Destroy to hoAppearance
	Set ComSelBackColor to |CI$1fffffe
	Set ComShowFocusRect to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Items" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComItemBackColor of hoItems (ComAddItem(hoItems,"red")) to (RGB(255,0,0))
		Set ComItemBackColor of hoItems (ComAddItem(hoItems,"blue")) to (RGB(0,0,255))
		Set ComItemBackColor of hoItems (ComAddItem(hoItems,"green")) to (RGB(0,255,0))
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
864
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSelBackMode to OLEexTransparent
	Set ComShowFocusRect to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Items" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComItemBackColor of hoItems (ComAddItem(hoItems,"red")) to (RGB(255,0,0))
		Set ComItemBackColor of hoItems (ComAddItem(hoItems,"blue")) to (RGB(0,0,255))
		Set ComItemBackColor of hoItems (ComAddItem(hoItems,"green")) to (RGB(0,255,0))
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
863
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSelBackColor to (ComBackColor(Self))
	Set ComSelForeColor to (ComForeColor(Self))
	Set ComShowFocusRect to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Items" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComItemBackColor of hoItems (ComAddItem(hoItems,"red")) to (RGB(255,0,0))
		Set ComItemBackColor of hoItems (ComAddItem(hoItems,"blue")) to (RGB(0,0,255))
		Set ComItemBackColor of hoItems (ComAddItem(hoItems,"green")) to (RGB(0,255,0))
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
862
The BeforeExpandItem event is fired when clicking the drop down filter button. What we can do to prevent that

// Fired before an item is about to be expanded (collapsed).
Procedure OnComBeforeExpandItem HITEM   llItem Variant   llCancel
	Forward Send OnComBeforeExpandItem llItem llCancel
	Showln "BeforeExpandItem" llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComInsertItem of hoItems llItem "new child" to Nothing
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterList of hoColumn to OLEexRootItems
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComItemHasChildren of hoItems1 (ComInsertItem(hoItems1,,"Group 1")) to True
		Set ComItemHasChildren of hoItems1 (ComInsertItem(hoItems1,,"Group 2")) to True
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
861
How can I change the shape of the line to be shown when user drag and drop data over the control, EBN

// Occurs when the OLEDrag method is called.
Procedure OnComOLEStartDrag Variant   llData Integer   llAllowedEffects
	Forward Send OnComOLEStartDrag llData llAllowedEffects
	// Data.SetData("data to be dragged")
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComOLEDropMode to OLEexOLEDropManual
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "C:\Program Files\Exontrol\ExList\Sample\VB\DragDrop\insert_bottom.ebn" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexListOLEDropPosition to |CI$1000000
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item 1" to Nothing
		Get ComAddItem of hoItems "Item 2" to Nothing
	Send Destroy to hoItems
End_Procedure
860
How can I highlight the item from cursor when the user drag and drop data over the control

// Occurs when the OLEDrag method is called.
Procedure OnComOLEStartDrag Variant   llData Integer   llAllowedEffects
	Forward Send OnComOLEStartDrag llData llAllowedEffects
	// Data.SetData("data to be dragged")
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComOLEDropMode to OLEexOLEDropManual
	Set ComBackground OLEexListOLEDropPosition to (RGB(1,0,0))
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item 1" to Nothing
		Get ComAddItem of hoItems "Item 2" to Nothing
	Send Destroy to hoItems
End_Procedure
859
Is it possible to always show the editor for all cells at all times

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellEditorVisible of hoItems llItem 0 to OLEexEditorVisible
	Send Destroy to hoItems
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellEditorVisible of hoItems1 llItem 1 to OLEexEditorVisible
	Send Destroy to hoItems1
End_Procedure

// Occurs when the edit operation starts.
Procedure OnComEditOpen 
	Forward Send OnComEditOpen 
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Variant v
		Get ComCellValue of hoItems2 (ComFocusItem(hoItems2)) 0 to v
		Variant c
		Get ComCellCaption of hoItems2 (ComFocusItem(hoItems2)) 0 to c
	Send Destroy to hoItems2
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Send ComClearItems of hoEditor
				Send ComAddItem of hoEditor v c Nothing
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "DropDownList" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLEDropDownListType
				Send ComAddItem of hoEditor1 1 "First" Nothing
				Send ComAddItem of hoEditor1 2 "Second" Nothing
				Send ComAddItem of hoEditor1 3 "Third" Nothing
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Set ComDrawGridLines to OLEexAllLines
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "DropDownList-Related" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Variant voEditor2
			Get ComEditor of hoColumn2 to voEditor2
			Handle hoEditor2
			Get Create (RefClass(cComEditor)) to hoEditor2
			Set pvComObject of hoEditor2 to voEditor2
				Set ComEditType of hoEditor2 to OLEDropDownListType
			Send Destroy to hoEditor2
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voItems3
	Get ComItems to voItems3
	Handle hoItems3
	Get Create (RefClass(cComItems)) to hoItems3
	Set pvComObject of hoItems3 to voItems3
		Set ComCellValue of hoItems3 (ComAddItem(hoItems3,1)) 1 to -1
		Set ComCellValue of hoItems3 (ComAddItem(hoItems3,2)) 1 to -1
		Set ComCellValue of hoItems3 (ComAddItem(hoItems3,3)) 1 to -1
		Set ComLockedItemCount of hoItems3 OLEexBottom to 1
		Variant h
		Get ComLockedItem of hoItems3 OLEexBottom 0 to h
		Set ComItemDivider of hoItems3 h to 0
		Set ComItemDividerLineAlignment of hoItems3 h to OLEDividerTop
		Set ComCellEditorVisible of hoItems3 h 0 to False
		Set ComCellSingleLine of hoItems3 h 0 to False
		Set ComCellValueFormat of hoItems3 h 0 to OLEexHTML
		Set ComCellValue of hoItems3 h 0 to "The drop down editor in the second column is filled during the <b>EditOpen event</b>, and the values are based on the selection on the first column."
	Send Destroy to hoItems3
	Send ComEndUpdate
End_Procedure
858
How do I set a computated cell individually

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Number" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "Format" to Nothing
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "1.23" to h
		Set ComCellValueFormat of hoItems h 1 to (OLEexComputedField + OLEexHTML)
		Set ComCellValue of hoItems h 1 to "2 * %0 + ` <font ;6><fgcolor=808080>(2 * Number)`"
		Get ComAddItem of hoItems "1.23" to h
		Set ComCellValueFormat of hoItems h 1 to (OLEexComputedField + OLEexHTML)
		Set ComCellValue of hoItems h 1 to "3 * %0 + ` <font ;6><fgcolor=808080>(3 * Number)`"
		Get ComAddItem of hoItems "1.23" to h
		Set ComCellValueFormat of hoItems h 1 to (OLEexComputedField + OLEexHTML)
		Set ComCellValue of hoItems h 1 to "currency(%0) + ` <font ;6><fgcolor=808080>( Currency(Number) )`"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
857
Is it possible to assign a different editor for some cells

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column - DropDownList" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDropDownListType
				Send ComAddItem of hoEditor 1 "First item" Nothing
				Send ComAddItem of hoEditor 2 "Second item" Nothing
				Send ComAddItem of hoEditor 3 "Third item" Nothing
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Cell - DropDownList" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDef of hoColumn1 OLEexCellValueFormat to 1
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems 1 to h
		Variant voEditor1
		Get ComCellEditor of hoItems h 1 to voEditor1
		Handle hoEditor1
		Get Create (RefClass(cComEditor)) to hoEditor1
		Set pvComObject of hoEditor1 to voEditor1
			Set ComEditType of hoEditor1 to OLEDropDownListType
			Send ComAddItem of hoEditor1 1 "<b>First</b> item" Nothing
			Send ComAddItem of hoEditor1 2 "<b>Second</b> item" Nothing
			Send ComAddItem of hoEditor1 3 "<b>Third</b> item" Nothing
			Send ComAddItem of hoEditor1 4 "<b>Forth</b> item" Nothing
		Send Destroy to hoEditor1
		Set ComCellValue of hoItems h 1 to 2
		Get ComAddItem of hoItems 2 to h
		Variant voEditor2
		Get ComCellEditor of hoItems h 1 to voEditor2
		Handle hoEditor2
		Get Create (RefClass(cComEditor)) to hoEditor2
		Set pvComObject of hoEditor2 to voEditor2
			Set ComEditType of hoEditor2 to OLEDropDownListType
			Send ComAddItem of hoEditor2 1 "<b>Aka First</b> item" Nothing
			Send ComAddItem of hoEditor2 2 "<b>Aka Second</b> item" Nothing
			Send ComAddItem of hoEditor2 3 "<b>Aka Third</b> item" Nothing
			Send ComAddItem of hoEditor2 4 "<b>Aka Forth</b> item" Nothing
		Send Destroy to hoEditor2
		Set ComCellValue of hoItems h 1 to 2
	Send Destroy to hoItems
End_Procedure
856
Is it possible to define the keys of the drop down values to be strings rather than numeric values

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Showln "NewValue is" llNewValue
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "DropDownList-String" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDropDownListType
				Send ComAddItem of hoEditor 1 "NYC|New York City" Nothing
				Send ComAddItem of hoEditor 2 "CJN|Cluj Napoca" Nothing
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "DropDownList-Numeric" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLEDropDownListType
				Send ComAddItem of hoEditor1 1 "New York City" Nothing
				Send ComAddItem of hoEditor1 2 "Cluj Napoca" Nothing
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"NYC")) 1 to 2
	Send Destroy to hoItems
End_Procedure
855
The Change event gets me the today date. How can I find what user typed

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Showln "NewValue:" llNewValue
	Showln "EditingValue:" (ComEditingText(Self))
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Edit" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDateType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "1/1/2001" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
854
I have an edit field, when going to edit mode, the rightmost part is shown. Is it possible to show the left part instead

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Edit" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 64
			Set ComAllowSizing of hoColumn to False
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEMaskType
				Set ComMask of hoEditor to ";;;rich"
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "Empty" to Nothing
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "This is a bit ot long text" to Nothing
		Get ComAddItem of hoItems "" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
853
I have a drop down field, the control shows the rightmost part of the selected caption. Is it possible to show the left part

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "DropDown" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 64
			Set ComAllowSizing of hoColumn to False
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComDropDownAlignment of hoEditor to |CI$20
				Set ComEditType of hoEditor to OLEDropDownType
				Send ComAddItem of hoEditor 1 "First item. This is a bit ot long text" Nothing
				Send ComAddItem of hoEditor 2 "Second item. This is a bit ot long text" Nothing
				Send ComAddItem of hoEditor 3 "Third item. This is a bit ot long text" Nothing
				Set ComMask of hoEditor to ";;;rich"
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "PickEdit" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComWidth of hoColumn1 to 64
			Set ComAllowSizing of hoColumn1 to False
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComDropDownAlignment of hoEditor1 to |CI$20
				Set ComEditType of hoEditor1 to OLEPickEditType
				Send ComAddItem of hoEditor1 1 "First item. This is a bit ot long text" Nothing
				Send ComAddItem of hoEditor1 2 "Second item. This is a bit ot long text" Nothing
				Send ComAddItem of hoEditor1 3 "Third item. This is a bit ot long text" Nothing
				Set ComMask of hoEditor1 to ";;;rich"
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Get ComAdd of hoColumns2 "Empty" to Nothing
	Send Destroy to hoColumns2
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"First item. This is a bit ot long text")) 1 to "Second item. This is a bit ot long text"
		Variant h
		Get ComAddItem of hoItems "First item. This is a bit ot long text" to h
		Variant voEditor2
		Get ComCellEditor of hoItems h 0 to voEditor2
		Handle hoEditor2
		Get Create (RefClass(cComEditor)) to hoEditor2
		Set pvComObject of hoEditor2 to voEditor2
			Set ComDropDownAlignment of hoEditor2 to |CI$20
			Set ComEditType of hoEditor2 to OLEDropDownType
			Send ComAddItem of hoEditor2 1 "First item. This is a bit ot long text" Nothing
			Send ComAddItem of hoEditor2 2 "Second item. This is a bit ot long text" Nothing
			Send ComAddItem of hoEditor2 3 "Third item. This is a bit ot long text" Nothing
		Send Destroy to hoEditor2
		Set ComCellValue of hoItems h 1 to "Second item. This is a bit ot long text"
		Variant voEditor3
		Get ComCellEditor of hoItems h 1 to voEditor3
		Handle hoEditor3
		Get Create (RefClass(cComEditor)) to hoEditor3
		Set pvComObject of hoEditor3 to voEditor3
			Set ComDropDownAlignment of hoEditor3 to |CI$20
			Set ComEditType of hoEditor3 to OLEPickEditType
			Send ComAddItem of hoEditor3 1 "First item. This is a bit ot long text" Nothing
			Send ComAddItem of hoEditor3 2 "Second item. This is a bit ot long text" Nothing
			Send ComAddItem of hoEditor3 3 "Third item. This is a bit ot long text" Nothing
		Send Destroy to hoEditor3
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
852
Is there a property for the back color of the dropdown field

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Date" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDateType
				Set ComOption of hoEditor OLEexDropDownBackColor to 15790320
				Set ComOption of hoEditor OLEexDropDownForeColor to 65793
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "1/1/2001" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
851
Is it possible to change a back color of the field/cell when it takes a focus

// Occurs when the edit operation ends.
Procedure OnComEditClose 
	Forward Send OnComEditClose 
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant vColIndex
			Get ComFocusColumnIndex to vColIndex
		Send ComClearCellBackColor of hoItems (ComFocusItem(hoItems)) vColIndex
	Send Destroy to hoItems
End_Procedure

// Occurs when the edit operation starts.
Procedure OnComEditOpen 
	Forward Send OnComEditOpen 
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Variant vColIndex1
			Get ComFocusColumnIndex to vColIndex1
		Set ComCellBackColor of hoItems1 (ComFocusItem(hoItems1)) vColIndex1 to (RGB(255,0,0))
	Send Destroy to hoItems1
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Variant vColIndex2
			Get ComFocusColumnIndex to vColIndex2
	Variant v
			Variant voItems3
			Get ComItems to voItems3
			Handle hoItems3
			Get Create (RefClass(cComItems)) to hoItems3
			Set pvComObject of hoItems3 to voItems3
				Variant vItem
					Variant voItems4
					Get ComItems to voItems4
					Handle hoItems4
					Get Create (RefClass(cComItems)) to hoItems4
					Set pvComObject of hoItems4 to voItems4
						Get ComFocusItem of hoItems4 to vItem
					Send Destroy to hoItems4
	Variant vColIndex3
					Get ComFocusColumnIndex to vColIndex3
				Get ComCellValue of hoItems3 vItem vColIndex3 to v
			Send Destroy to hoItems3
		Set ComCellValue of hoItems2 (ComFocusItem(hoItems2)) vColIndex2 to v
	Send Destroy to hoItems2
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComFullRowSelect to OLEexColumnSel
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "C1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "C2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLEEditType
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems5
	Get ComItems to voItems5
	Handle hoItems5
	Get Create (RefClass(cComItems)) to hoItems5
	Set pvComObject of hoItems5 to voItems5
		Set ComCellValue of hoItems5 (ComAddItem(hoItems5,"v1")) 1 to "v2"
		Set ComCellValue of hoItems5 (ComAddItem(hoItems5,"v3")) 1 to "v4"
	Send Destroy to hoItems5
End_Procedure
850
How can I display the current date mask, but still allow empty values

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComCauseValidateValue to True
	Set ComFullRowSelect to OLEexColumnSel
	Set ComDrawGridLines to OLEexRowLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Date" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDateType
				Set ComMask of hoEditor to "!99/99/9999;1;;empty=1,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,select=4,overtype"
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems Nothing to Nothing
		Get ComAddItem of hoItems "1/1/2001" to Nothing
		Get ComAddItem of hoItems Nothing to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
849
How can I align the days in a DateType editor

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "DropDown" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant voEditor
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"1/1/2001")) 0 to voEditor
		Handle hoEditor
		Get Create (RefClass(cComEditor)) to hoEditor
		Set pvComObject of hoEditor to voEditor
			Set ComEditType of hoEditor to OLEDateType
			Set ComDropDownAlignment of hoEditor to OLERightAlignment
		Send Destroy to hoEditor
		Variant voEditor1
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"1/1/2001")) 0 to voEditor1
		Handle hoEditor1
		Get Create (RefClass(cComEditor)) to hoEditor1
		Set pvComObject of hoEditor1 to voEditor1
			Set ComEditType of hoEditor1 to OLEDateType
			Set ComDropDownAlignment of hoEditor1 to OLECenterAlignment
		Send Destroy to hoEditor1
		Variant voEditor2
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"1/1/2001")) 0 to voEditor2
		Handle hoEditor2
		Get Create (RefClass(cComEditor)) to hoEditor2
		Set pvComObject of hoEditor2 to voEditor2
			Set ComEditType of hoEditor2 to OLEDateType
			Set ComDropDownAlignment of hoEditor2 to OLELeftAlignment
		Send Destroy to hoEditor2
		Variant voEditor3
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"1/1/2001")) 0 to voEditor3
		Handle hoEditor3
		Get Create (RefClass(cComEditor)) to hoEditor3
		Set pvComObject of hoEditor3 to voEditor3
			Set ComEditType of hoEditor3 to OLEDateType
			Set ComDropDownAlignment of hoEditor3 to |CI$20
		Send Destroy to hoEditor3
		Variant voEditor4
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"1/1/2001")) 0 to voEditor4
		Handle hoEditor4
		Get Create (RefClass(cComEditor)) to hoEditor4
		Set pvComObject of hoEditor4 to voEditor4
			Set ComEditType of hoEditor4 to OLEDateType
			Set ComDropDownAlignment of hoEditor4 to (|CI$20 + OLECenterAlignment)
		Send Destroy to hoEditor4
		Variant voEditor5
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"1/1/2001")) 0 to voEditor5
		Handle hoEditor5
		Get Create (RefClass(cComEditor)) to hoEditor5
		Set pvComObject of hoEditor5 to voEditor5
			Set ComEditType of hoEditor5 to OLEDateType
			Set ComDropDownAlignment of hoEditor5 to (|CI$20 + OLERightAlignment)
		Send Destroy to hoEditor5
	Send Destroy to hoItems
End_Procedure
848
How can I align the drop down portion rather the inside captions

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "DropDown" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDateType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant voEditor1
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"1/1/2001")) 0 to voEditor1
		Handle hoEditor1
		Get Create (RefClass(cComEditor)) to hoEditor1
		Set pvComObject of hoEditor1 to voEditor1
			Set ComEditType of hoEditor1 to OLEDateType
			Set ComDropDownAlignment of hoEditor1 to |CI$20
		Send Destroy to hoEditor1
		Variant voEditor2
		Get ComCellEditor of hoItems (ComAddItem(hoItems,"1/1/2001")) 0 to voEditor2
		Handle hoEditor2
		Get Create (RefClass(cComEditor)) to hoEditor2
		Set pvComObject of hoEditor2 to voEditor2
			Set ComEditType of hoEditor2 to OLEDateType
			Set ComDropDownAlignment of hoEditor2 to |CI$10
		Send Destroy to hoEditor2
		Get ComAddItem of hoItems "1/1/2001" to Nothing
	Send Destroy to hoItems
End_Procedure
847
Is it possible to show a message that the field is empty

Procedure OnCreate
	Forward Send OnCreate
	Set ComDrawGridLines to OLEexRowLines
	Set ComFullRowSelect to OLEexColumnSel
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Float" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEMaskType
				Set ComMask of hoEditor to ";;;float,digits=0,grouping=,invalid=empty,warning=invalid character"
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 192278 to Nothing
	Send Destroy to hoItems
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Get ComAddItem of hoItems1 1000 to Nothing
	Send Destroy to hoItems1
End_Procedure
846
How can I mask a date

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComCauseValidateValue to True
	Set ComFullRowSelect to OLEexColumnSel
	Set ComDrawGridLines to OLEexRowLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Date" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "Mask" to Nothing
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "1/1/2001" to h
		Variant voEditor
		Get ComCellEditor of hoItems h 0 to voEditor
		Handle hoEditor
		Get Create (RefClass(cComEditor)) to hoEditor
		Set pvComObject of hoEditor to voEditor
			Set ComEditType of hoEditor to OLEDateType
			Set ComMask of hoEditor to "{1,12}/{1,31}/{1950,2050};1;;select=1,warning=Invalid character!,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,validateas=1"
		Send Destroy to hoEditor
		Variant v
		Variant voEditor1
		Get ComCellEditor of hoItems h 0 to voEditor1
		Handle hoEditor1
		Get Create (RefClass(cComEditor)) to hoEditor1
		Set pvComObject of hoEditor1 to voEditor1
			Get ComMask of hoEditor1 to v
		Send Destroy to hoEditor1
		Set ComCellValue of hoItems h 1 to v
		Get ComAddItem of hoItems "1/1/2001" to h
		Variant voEditor2
		Get ComCellEditor of hoItems h 0 to voEditor2
		Handle hoEditor2
		Get Create (RefClass(cComEditor)) to hoEditor2
		Set pvComObject of hoEditor2 to voEditor2
			Set ComEditType of hoEditor2 to OLEDateType
			Set ComMask of hoEditor2 to "!99/99/9999;1;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,select=4,overtype"
		Send Destroy to hoEditor2
		Variant v1
		Variant voEditor3
		Get ComCellEditor of hoItems h 0 to voEditor3
		Handle hoEditor3
		Get Create (RefClass(cComEditor)) to hoEditor3
		Set pvComObject of hoEditor3 to voEditor3
			Get ComMask of hoEditor3 to v1
		Send Destroy to hoEditor3
		Set ComCellValue of hoItems h 1 to v1
		Get ComAddItem of hoItems "1/1/2001" to h
		Variant voEditor4
		Get ComCellEditor of hoItems h 0 to voEditor4
		Handle hoEditor4
		Get Create (RefClass(cComEditor)) to hoEditor4
		Set pvComObject of hoEditor4 to voEditor4
			Set ComEditType of hoEditor4 to OLEDateType
			Set ComMask of hoEditor4 to "!99/99/9999;;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,select=4,overtype"
		Send Destroy to hoEditor4
		Variant v2
		Variant voEditor5
		Get ComCellEditor of hoItems h 0 to voEditor5
		Handle hoEditor5
		Get Create (RefClass(cComEditor)) to hoEditor5
		Set pvComObject of hoEditor5 to voEditor5
			Get ComMask of hoEditor5 to v2
		Send Destroy to hoEditor5
		Set ComCellValue of hoItems h 1 to v2
		Get ComAddItem of hoItems "1/1/2001" to h
		Variant voEditor6
		Get ComCellEditor of hoItems h 0 to voEditor6
		Handle hoEditor6
		Get Create (RefClass(cComEditor)) to hoEditor6
		Set pvComObject of hoEditor6 to voEditor6
			Set ComEditType of hoEditor6 to OLEDateType
			Set ComMask of hoEditor6 to "!99/99/9999;; ;select=4,overtype,empty,warning=Invalid character!,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,validateas=1"
		Send Destroy to hoEditor6
		Variant v3
		Variant voEditor7
		Get ComCellEditor of hoItems h 0 to voEditor7
		Handle hoEditor7
		Get Create (RefClass(cComEditor)) to hoEditor7
		Set pvComObject of hoEditor7 to voEditor7
			Get ComMask of hoEditor7 to v3
		Send Destroy to hoEditor7
		Set ComCellValue of hoItems h 1 to v3
		Get ComAddItem of hoItems "1/1/2001" to h
		Variant voEditor8
		Get ComCellEditor of hoItems h 0 to voEditor8
		Handle hoEditor8
		Get Create (RefClass(cComEditor)) to hoEditor8
		Set pvComObject of hoEditor8 to voEditor8
			Set ComEditType of hoEditor8 to OLEDateType
			Set ComMask of hoEditor8 to "![0-9 ][0-9 ]/[0-9 ][0-9 ]/[0-9 ][0-9 ][0-9 ][0-9 ];1;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,select=4,leading= "
		Send Destroy to hoEditor8
		Variant v4
		Variant voEditor9
		Get ComCellEditor of hoItems h 0 to voEditor9
		Handle hoEditor9
		Get Create (RefClass(cComEditor)) to hoEditor9
		Set pvComObject of hoEditor9 to voEditor9
			Get ComMask of hoEditor9 to v4
		Send Destroy to hoEditor9
		Set ComCellValue of hoItems h 1 to v4
		Get ComAddItem of hoItems "1/1/2001" to h
		Set ComFormatCell of hoItems h 0 to "len(value) ? shortdateF(value) : ``"
		Variant voEditor10
		Get ComCellEditor of hoItems h 0 to voEditor10
		Handle hoEditor10
		Get Create (RefClass(cComEditor)) to hoEditor10
		Set pvComObject of hoEditor10 to voEditor10
			Set ComEditType of hoEditor10 to OLEDateType
			Set ComMask of hoEditor10 to "!99/99/9999;1;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,select=4,overtype,leading"
		Send Destroy to hoEditor10
		Variant v5
		Variant voEditor11
		Get ComCellEditor of hoItems h 0 to voEditor11
		Handle hoEditor11
		Get Create (RefClass(cComEditor)) to hoEditor11
		Set pvComObject of hoEditor11 to voEditor11
			Get ComMask of hoEditor11 to v5
		Send Destroy to hoEditor11
		Set ComCellValue of hoItems h 1 to v5
		Get ComAddItem of hoItems "1/1/2001" to h
		Set ComFormatCell of hoItems h 0 to "len(value) ? shortdateF(value) : ``"
		Variant voEditor12
		Get ComCellEditor of hoItems h 0 to voEditor12
		Handle hoEditor12
		Get Create (RefClass(cComEditor)) to hoEditor12
		Set pvComObject of hoEditor12 to voEditor12
			Set ComEditType of hoEditor12 to OLEDateType
			Set ComMask of hoEditor12 to "!00/00/0000;1;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,select=4,overtype,leading"
		Send Destroy to hoEditor12
		Variant v6
		Variant voEditor13
		Get ComCellEditor of hoItems h 0 to voEditor13
		Handle hoEditor13
		Get Create (RefClass(cComEditor)) to hoEditor13
		Set pvComObject of hoEditor13 to voEditor13
			Get ComMask of hoEditor13 to v6
		Send Destroy to hoEditor13
		Set ComCellValue of hoItems h 1 to v6
		Get ComAddItem of hoItems "1/1/2001" to h
		Set ComFormatCell of hoItems h 0 to "len(value) ? shortdateF(value) : ``"
		Variant voEditor14
		Get ComCellEditor of hoItems h 0 to voEditor14
		Handle hoEditor14
		Get Create (RefClass(cComEditor)) to hoEditor14
		Set pvComObject of hoEditor14 to voEditor14
			Set ComEditType of hoEditor14 to OLEDateType
			Set ComMask of hoEditor14 to "!00/00/0000;;0;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,select=4,overtype"
		Send Destroy to hoEditor14
		Variant v7
		Variant voEditor15
		Get ComCellEditor of hoItems h 0 to voEditor15
		Handle hoEditor15
		Get Create (RefClass(cComEditor)) to hoEditor15
		Set pvComObject of hoEditor15 to voEditor15
			Get ComMask of hoEditor15 to v7
		Send Destroy to hoEditor15
		Set ComCellValue of hoItems h 1 to v7
		Get ComAddItem of hoItems "1/1/2001" to h
		Set ComFormatCell of hoItems h 0 to "len(value) ? shortdateF(value) : ``"
		Variant voEditor16
		Get ComCellEditor of hoItems h 0 to voEditor16
		Handle hoEditor16
		Get Create (RefClass(cComEditor)) to hoEditor16
		Set pvComObject of hoEditor16 to voEditor16
			Set ComEditType of hoEditor16 to OLEDateType
			Set ComMask of hoEditor16 to "!00/00/0000;;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,select=1,overtype"
		Send Destroy to hoEditor16
		Variant v8
		Variant voEditor17
		Get ComCellEditor of hoItems h 0 to voEditor17
		Handle hoEditor17
		Get Create (RefClass(cComEditor)) to hoEditor17
		Set pvComObject of hoEditor17 to voEditor17
			Get ComMask of hoEditor17 to v8
		Send Destroy to hoEditor17
		Set ComCellValue of hoItems h 1 to v8
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
845
How can I display and edit an integer number to show grouping digits too ( no decimals)

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Float" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "value format `0`"
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEMaskType
				Set ComMask of hoEditor to ";;;float,digits=0"
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 192278 to Nothing
	Send Destroy to hoItems
End_Procedure
844
How can I display and edit a float number to show grouping digits too

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Float" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "value format ``"
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEMaskType
				Set ComMask of hoEditor to ";;;float"
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 192278 to Nothing
	Send Destroy to hoItems
End_Procedure
843
How can I mask a phone number

Procedure OnCreate
	Forward Send OnCreate
	Set ComCauseValidateValue to True
	Set ComDrawGridLines to OLEexRowLines
	Set ComFullRowSelect to OLEexColumnSel
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Phone" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEMaskType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems Nothing to h
		Variant voEditor1
		Get ComCellEditor of hoItems h 0 to voEditor1
		Handle hoEditor1
		Get Create (RefClass(cComEditor)) to hoEditor1
		Set pvComObject of hoEditor1 to voEditor1
			Set ComEditType of hoEditor1 to OLEMaskType
			Set ComMask of hoEditor1 to "!(999) 000 0000;1;;select=1,empty,overtype,warning=invalid characer,invalid=The value you entered isn't appropriate for the input mask <b>'<%mask%>'</b> specified for this field."
		Send Destroy to hoEditor1
		Get ComAddItem of hoItems "0123" to h
		Variant voEditor2
		Get ComCellEditor of hoItems h 0 to voEditor2
		Handle hoEditor2
		Get Create (RefClass(cComEditor)) to hoEditor2
		Set pvComObject of hoEditor2 to voEditor2
			Set ComEditType of hoEditor2 to OLEMaskType
			Set ComMask of hoEditor2 to "!(999) 000 0000;2;;select=4"
		Send Destroy to hoEditor2
		Get ComAddItem of hoItems "0123" to h
		Variant voEditor3
		Get ComCellEditor of hoItems h 0 to voEditor3
		Handle hoEditor3
		Get Create (RefClass(cComEditor)) to hoEditor3
		Set pvComObject of hoEditor3 to voEditor3
			Set ComEditType of hoEditor3 to OLEMaskType
			Set ComMask of hoEditor3 to "`Phone: `!(999) 000-0000"
		Send Destroy to hoEditor3
		Get ComAddItem of hoItems "(074) 876-1222" to h
		Variant voEditor4
		Get ComCellEditor of hoItems h 0 to voEditor4
		Handle hoEditor4
		Get Create (RefClass(cComEditor)) to hoEditor4
		Set pvComObject of hoEditor4 to voEditor4
			Set ComEditType of hoEditor4 to OLEMaskType
			Set ComMask of hoEditor4 to "!(999) 000-0000;0"
		Send Destroy to hoEditor4
	Send Destroy to hoItems
End_Procedure
842
Is it possible to display the ColorType fields using RGB format

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Color" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEColorType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 255 to Nothing
		Variant h
		Get ComAddItem of hoItems 255 to h
		Variant voEditor1
		Get ComCellEditor of hoItems h 0 to voEditor1
		Handle hoEditor1
		Get Create (RefClass(cComEditor)) to hoEditor1
		Set pvComObject of hoEditor1 to voEditor1
			Set ComEditType of hoEditor1 to OLEColorType
			Set ComMask of hoEditor1 to "`RGB(`{0,255}\,{0,255}\,{0,255}`)`;;0"
		Send Destroy to hoEditor1
		Get ComAddItem of hoItems 255 to h
		Variant voEditor2
		Get ComCellEditor of hoItems h 0 to voEditor2
		Handle hoEditor2
		Get Create (RefClass(cComEditor)) to hoEditor2
		Set pvComObject of hoEditor2 to voEditor2
			Set ComEditType of hoEditor2 to OLEColorType
			Set ComMask of hoEditor2 to "`&H`XXXXXXXX`&`;;0;overtype,insertype,warning=Wrong!"
		Send Destroy to hoEditor2
		Get ComAddItem of hoItems 255 to h
		Variant voEditor3
		Get ComCellEditor of hoItems h 0 to voEditor3
		Handle hoEditor3
		Get Create (RefClass(cComEditor)) to hoEditor3
		Set pvComObject of hoEditor3 to voEditor3
			Set ComEditType of hoEditor3 to OLEColorType
			Set ComMask of hoEditor3 to "`0x`XX `0x`XX `0x`XX;;0;overtype,insertype,warning=Wrong!"
		Send Destroy to hoEditor3
		Get ComAddItem of hoItems 255 to h
		Variant voEditor4
		Get ComCellEditor of hoItems h 0 to voEditor4
		Handle hoEditor4
		Get Create (RefClass(cComEditor)) to hoEditor4
		Set pvComObject of hoEditor4 to voEditor4
			Set ComEditType of hoEditor4 to OLEColorType
			Set ComMask of hoEditor4 to "R{0,255} G{0,255} B{0,255};;0;overtype,insertype,warning=Wrong!"
		Send Destroy to hoEditor4
		Get ComAddItem of hoItems 255 to h
		Variant voEditor5
		Get ComCellEditor of hoItems h 0 to voEditor5
		Handle hoEditor5
		Get Create (RefClass(cComEditor)) to hoEditor5
		Set pvComObject of hoEditor5 to voEditor5
			Set ComEditType of hoEditor5 to OLEColorType
			Set ComMask of hoEditor5 to "`(hexa) RGB 0x`XXXXXX;;0;overtype,insertype,warning=Wrong!"
		Send Destroy to hoEditor5
		Get ComAddItem of hoItems 255 to h
		Variant voEditor6
		Get ComCellEditor of hoItems h 0 to voEditor6
		Handle hoEditor6
		Get Create (RefClass(cComEditor)) to hoEditor6
		Set pvComObject of hoEditor6 to voEditor6
			Set ComEditType of hoEditor6 to OLEColorType
			Set ComMask of hoEditor6 to "`(decimal) Red: `{0,255}` Green: `{0,255}` Blue: `{0,255};;0;overtype,insertype,warning=Wrong!"
		Send Destroy to hoEditor6
		Get ComAddItem of hoItems 255 to h
		Variant voEditor7
		Get ComCellEditor of hoItems h 0 to voEditor7
		Handle hoEditor7
		Get Create (RefClass(cComEditor)) to hoEditor7
		Set pvComObject of hoEditor7 to voEditor7
			Set ComEditType of hoEditor7 to OLEColorType
			Set ComMask of hoEditor7 to "`(combine) Red: `{0,255}` Green: 0x`XX` Blue: `{0,255};;0;overtype,insertype,warning=Wrong!"
		Send Destroy to hoEditor7
	Send Destroy to hoItems
End_Procedure
841
How can I add the ExComboBox as an user editor

// Fired the user editor is about to be opened.
Procedure OnComUserEditorClose Variant   llObject HITEM   llItem Integer   llColIndex
	Forward Send OnComUserEditorClose llObject llItem llColIndex
	// Items.CellValue(Item,ColIndex) = Object.Value
End_Procedure

// Occurs when an user editor fires an event.
Procedure OnComUserEditorOleEvent Variant   llObject Variant   llEv Boolean   llCloseEditor HITEM   llItem Integer   llColIndex
	Forward Send OnComUserEditorOleEvent llObject llEv llCloseEditor llItem llColIndex
	Showln llEv
End_Procedure

// Occurs when an user editor is about to be opened.
Procedure OnComUserEditorOpen Variant   llObject HITEM   llItem Integer   llColIndex
	Forward Send OnComUserEditorOpen llObject llItem llColIndex
	// Object.Value = Me.Items.CellValue(Item,ColIndex)
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Exontrol.ComboBox" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEUserEditorType
				Send ComUserEditor of hoEditor "Exontrol.ComboBox" ""
Get ComUserEditorObject of hoEditor to Nothing				Send Destroy to hoEditor
			Send Destroy to hoColumn
		Send Destroy to hoColumns
	Set ComDrawGridLines to OLEexRowLines
	Set ComDefaultItemHeight to 21
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellEditorVisible of hoItems (ComAddItem(hoItems,10248)) 0 to OLEexEditorVisible
		Set ComCellEditorVisible of hoItems (ComAddItem(hoItems,10249)) 0 to OLEexEditorVisible
		Set ComCellEditorVisible of hoItems (ComAddItem(hoItems,10250)) 0 to OLEexEditorVisible
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
840
How can I add a header row

Procedure OnCreate
	Forward Send OnCreate
	Set ComShowLockedItems to True
	Set ComDrawGridLines to OLEexVLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "C1" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "C2" to Nothing
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComLockedItemCount of hoItems OLEexTop to 1
		Variant h
		Get ComLockedItem of hoItems OLEexTop 0 to h
		Set ComItemBackColor of hoItems h to (RGB(128,128,128))
		Set ComItemForeColor of hoItems h to (RGB(255,255,255))
		Set ComCellValue of hoItems h 0 to "footer c1"
		Set ComCellValue of hoItems h 1 to "footer c2"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"cell")) 1 to "cell"
	Send Destroy to hoItems
End_Procedure
839
How can I add a footer row

Procedure OnCreate
	Forward Send OnCreate
	Set ComShowLockedItems to True
	Set ComDrawGridLines to OLEexVLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "C1" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "C2" to Nothing
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComLockedItemCount of hoItems OLEexBottom to 1
		Variant h
		Get ComLockedItem of hoItems OLEexBottom 0 to h
		Set ComItemBackColor of hoItems h to (RGB(128,128,128))
		Set ComItemForeColor of hoItems h to (RGB(255,255,255))
		Set ComCellValue of hoItems h 0 to "footer c1"
		Set ComCellValue of hoItems h 1 to "footer c2"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"cell")) 1 to "cell"
	Send Destroy to hoItems
End_Procedure
838
How can I programmatically add more columns to the sort bar and other to be sorted, but not included in the sort bar

Procedure OnCreate
	Forward Send OnCreate
	Set ComSortBarVisible to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns 0 to Nothing
		Get ComAdd of hoColumns 1 to Nothing
		Get ComAdd of hoColumns 2 to Nothing
		Get ComAdd of hoColumns 3 to Nothing
		Get ComAdd of hoColumns 4 to Nothing
	Send Destroy to hoColumns
	Set ComLayout to "multiplesort="C3:1 C4:2";singlesort="C2:1""
End_Procedure
837
How can I fix a column, while other sizable and fill the control's client

Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Sizable" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn
		Get ComAdd of hoColumns1 "F" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComAllowSizing of hoColumn to False
			Set ComWidth of hoColumn to 16
		Send Destroy to hoColumn
	Send Destroy to hoColumns1
End_Procedure
836
Is it possible to use empty values on a PickEditType editor (method 2)

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "DropDown" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEPickEditType
				Send ComAddItem of hoEditor 0 "" Nothing
				Send ComAddItem of hoEditor 1 "The first item" Nothing
				Send ComAddItem of hoEditor 2 "The second item" Nothing
				Send ComAddItem of hoEditor 3 "The third item" Nothing
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "The first item" to Nothing
		Get ComAddItem of hoItems "" to Nothing
		Get ComAddItem of hoItems "The third item" to Nothing
	Send Destroy to hoItems
End_Procedure
835
Is it possible to use empty values on a PickEditType editor (method 1)

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "DropDown" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEPickEditType
				Set ComOption of hoEditor OLEexPickAllowEmpty to True
				Send ComAddItem of hoEditor 1 "The first item" Nothing
				Send ComAddItem of hoEditor 2 "The second item" Nothing
				Send ComAddItem of hoEditor 3 "The third item" Nothing
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "The first item" to Nothing
		Get ComAddItem of hoItems "" to Nothing
		Get ComAddItem of hoItems "The third item" to Nothing
	Send Destroy to hoItems
End_Procedure
834
How can I specify an unselectable cell

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "C1" to Nothing
		Get ComAdd of hoColumns "C2" to Nothing
		Get ComAdd of hoColumns "C3" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "unselectable item" to h
		Set ComCellValue of hoItems h 1 to "unselectable item"
		Set ComCellValue of hoItems h 2 to "unselectable item"
		Set ComSelectableItem of hoItems h to False
		Get ComAddItem of hoItems "selectable cell" to h
		Set ComCellValue of hoItems h 1 to "unselectable cell"
		Set ComCellEnabled of hoItems h 1 to False
		Set ComCellForeColor of hoItems h 1 to (RGB(0,0,0))
		Set ComCellValue of hoItems h 2 to "disabled cell"
		Set ComCellEnabled of hoItems h 2 to False
		Get ComAddItem of hoItems "disabled item" to h
		Set ComCellValue of hoItems h 1 to "disabled item"
		Set ComCellValue of hoItems h 2 to "disabled item"
		Set ComEnableItem of hoItems h to False
		Set ComSelectableItem of hoItems h to False
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
833
Is it possible to edit a float number without using of e/E/d/D (exponent) and +/- (signs) characters

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Edit" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
				Set ComNumeric of hoEditor to (OLEexDisableSigns + OLEexFloatInteger)
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 1.22 to Nothing
	Send Destroy to hoItems
End_Procedure
832
How can I edit a float number with no using of e/E/d/D and + character

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Edit" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
				Set ComNumeric of hoEditor to (OLEexDisablePlus + OLEexFloatInteger)
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 1.22 to Nothing
	Send Destroy to hoItems
End_Procedure
831
Is it possible to edit a float number with no using of e/E/d/D (exponent) characters

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Edit" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
				Set ComNumeric of hoEditor to OLEexFloatInteger
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 1.22 to Nothing
	Send Destroy to hoItems
End_Procedure
830
How can I edit an integer with no using of +/- signs

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Edit" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
				Set ComNumeric of hoEditor to (|CI$fc + OLEexDisableSigns + OLEexFloatInteger + OLEexFloat)
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 1 to Nothing
	Send Destroy to hoItems
End_Procedure
829
When I'm trying to show string with "line break" character (vbCrLF) in a textbox, it shows 2 squares. Is there any way to hide these squares

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Value" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "CellSingleLine = False" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComComputedField of hoColumn to "%0"
			Set ComDef of hoColumn OLEexCellSingleLine to False
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "FormatColumn/replace CRLF" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComComputedField of hoColumn1 to "%0"
			Set ComFormatColumn of hoColumn1 to "value replace `\r\n` with ``"
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "FormatColumn/replace TAB,CRLF" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComComputedField of hoColumn2 to "%0"
			Set ComFormatColumn of hoColumn2 to "(value replace `\t` with ``) replace `\r\n` with ``"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "a\ta\r\nb\tb" to Nothing
	Send Destroy to hoItems
End_Procedure
828
Is there any way to "unselect" radio group

// Occurs when the user dblclk the left mouse button over an object.
Procedure OnComDblClick Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComDblClick llShift llX llY
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComCellChecked of hoItems 1234 to h
		Set ComCellHasCheckBox of hoItems 0 h to True
		Set ComCellState of hoItems 0 h to 0
		Set ComCellHasCheckBox of hoItems 0 h to False
	Send Destroy to hoItems
End_Procedure

// Fired after a new item has been selected.
Procedure OnComSelectionChanged 
	Forward Send OnComSelectionChanged 
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellState of hoItems1 (ComFocusItem(hoItems1)) 0 to 1
	Send Destroy to hoItems1
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComMarkSearchColumn to False
	Set ComSelBackColor to (RGB(255,255,128))
	Set ComSelForeColor to (RGB(0,0,0))
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Get ComAddItem of hoItems2 "Radio 1" to h
		Set ComCellHasRadioButton of hoItems2 h 0 to True
		Set ComCellRadioGroup of hoItems2 h 0 to 1234
		Get ComAddItem of hoItems2 "Radio 2" to h
		Set ComCellHasRadioButton of hoItems2 h 0 to True
		Set ComCellRadioGroup of hoItems2 h 0 to 1234
		Set ComCellState of hoItems2 h 0 to 1
		Get ComAddItem of hoItems2 "Radio 3" to h
		Set ComCellHasRadioButton of hoItems2 h 0 to True
		Set ComCellRadioGroup of hoItems2 h 0 to 1234
	Send Destroy to hoItems2
End_Procedure
827
The Column.Alignment property does not seem to work for cells with images in them. What can be done

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Set ComTreeColumnIndex to -1
	Set ComDrawGridLines to OLEexAllLines
	Set ComHeaderHeight to 24
	Set ComDefaultItemHeight to 24
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Image" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComAllowSizing of hoColumn to False
			Set ComWidth of hoColumn to 32
			Set ComHTMLCaption of hoColumn to "<img>1</img>"
			Set ComHeaderAlignment of hoColumn to OLECenterAlignment
			Set ComAlignment of hoColumn to OLECenterAlignment
			Set ComDef of hoColumn OLEexCellValueFormat to 1
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Get ComAdd of hoColumns1 "Rest" to Nothing
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "<img>1</img>" to Nothing
		Get ComAddItem of hoItems "<img>2</img>" to Nothing
		Get ComAddItem of hoItems "<img>3</img>" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
826
Can I change the format of date to be shown in the control

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Format.1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComComputedField of hoColumn to "%0"
			Set ComFormatColumn of hoColumn to "dateF(value) replace `/` with `-`"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Format.2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComComputedField of hoColumn1 to "%0"
			Set ComDef of hoColumn1 OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn1 to "`<b>`+ shortdate(value) + `</b> ` + timeF(value)"
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Format.3" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComComputedField of hoColumn2 to "%0"
			Set ComDef of hoColumn2 OLEexCellValueFormat to 1
			Set ComFormatColumn of hoColumn2 to "( dateF(value) replace `/` with `-` ) + ` <b>`+ ( weekday(value) case ( 0 : `Su`; 1 : `Mo`; 2 : `Tu`; 3 : `We`; 4 : `Th`; 5 : `Fr`; 6 : `Sa`) )"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "1/1/2001 10:00:00 AM" to Nothing
		Get ComAddItem of hoItems "1/2/2001 10:00:00 AM" to Nothing
	Send Destroy to hoItems
End_Procedure
825
How do I arrange my columns on multiple levels

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Set ComDrawGridLines to OLEexAllLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "C0" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComExpandColumns of hoColumn to "1,2"
			Set ComDisplayExpandButton of hoColumn to False
		Send Destroy to hoColumn
		Get ComAdd of hoColumns "C1" to Nothing
		Get ComAdd of hoColumns "C2" to Nothing
		Get ComAdd of hoColumns "C3" to Nothing
		Variant voColumn1
		Get ComAdd of hoColumns "C4" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComExpandColumns of hoColumn1 to "5,6"
			Set ComDisplayExpandButton of hoColumn1 to False
		Send Destroy to hoColumn1
		Get ComAdd of hoColumns "C5" to Nothing
		Variant voColumn2
		Get ComAdd of hoColumns "C6" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComExpandColumns of hoColumn2 to "6,7"
			Set ComDisplayExpandButton of hoColumn2 to False
		Send Destroy to hoColumn2
		Get ComAdd of hoColumns "C7" to Nothing
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
824
Does your control support expandable header or columns, so I can arrange it on multiple levels

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComDrawGridLines to OLEexAllLines
	Set ComBackColorLevelHeader to (RGB(240,240,240))
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Photo" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComAllowSizing of hoColumn to False
			Set ComWidth of hoColumn to 32
		Send Destroy to hoColumn
		Get ComAdd of hoColumns "Personal Info" to Nothing
		Get ComAdd of hoColumns "Title" to Nothing
		Get ComAdd of hoColumns "Name" to Nothing
		Get ComAdd of hoColumns "First" to Nothing
		Get ComAdd of hoColumns "Last" to Nothing
		Get ComAdd of hoColumns "Address" to Nothing
		Variant voColumn1
		Get ComItem of hoColumns "Personal Info" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComExpandColumns of hoColumn1 to "2,3"
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComItem of hoColumns "Name" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComExpandColumns of hoColumn2 to "4,5"
			Set ComExpanded of hoColumn2 to False
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
823
How can I use the MinWidthAutoResize/MaxWidthAutoResize

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 0 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComMaxWidthAutoResize of hoColumn to 32
			Set ComWidthAutoResize of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
822
Does your control support subscript or superscript, in HTML captions

Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to False
	Set ComHeaderHeight to 28
	Set ComDefaultItemHeight to 24
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column 1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComHTMLCaption of hoColumn to "Column <b><off 2><font ;6>1"
			Set ComDef of hoColumn OLEexCellValueFormat to 1
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Column 2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComHTMLCaption of hoColumn1 to "Column <b><off 2><font ;6>2"
			Set ComDef of hoColumn1 OLEexCellValueFormat to 1
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Column 3" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComHTMLCaption of hoColumn2 to "Column <b><off 2><font ;6>3"
			Set ComDef of hoColumn2 OLEexCellValueFormat to 1
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Item <font ;6><off 4>1" to h
		Set ComCellValue of hoItems h 1 to "Item <font ;6><off -6>2"
		Set ComCellValue of hoItems h 2 to "Item <b><font ;6><off -6>2<off 4>3<off 4>1"
	Send Destroy to hoItems
End_Procedure
821
How can I specify the splited cell's background color

Procedure OnCreate
	Forward Send OnCreate
	Set ComMarkSearchColumn to False
	Set ComTreeColumnIndex to -1
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellBackColor to 255
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComWidth of hoColumn1 to 32
			Set ComAllowSizing of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "The Item's background color inherits the Column.Def(exCellBackColor)" to h
		Set ComItemDivider of hoItems h to 0
		Get ComAddItem of hoItems "The Item's background color inherits the CellBackColor()" to h
		Set ComItemDivider of hoItems h to 0
		Set ComCellBackColor of hoItems h Nothing to (RGB(0,255,0))
		Get ComAddItem of hoItems "The Item's background color inherits the CellBackColor(), while the split inherits from the Column.Def(exCellBackColor) " to h
		Set ComItemDivider of hoItems h to 0
		Set ComCellBackColor of hoItems h Nothing to (RGB(0,255,0))
		Variant var_SplitCell
		Get ComSplitCell of hoItems h 0 to var_SplitCell
		Get ComAddItem of hoItems "The Item's background color inherits the CellBackColor()" to h
		Set ComItemDivider of hoItems h to 0
		Set ComCellBackColor of hoItems h Nothing to (RGB(0,255,0))
		Set ComCellBackColor of hoItems 0 (ComSplitCell(hoItems,h,0)) to (RGB(0,0,255))
	Send Destroy to hoItems
End_Procedure
820
How can I specify a fixed width for a column

Procedure OnCreate
	Forward Send OnCreate
	Set ComMarkSearchColumn to False
	Set ComTreeColumnIndex to -1
	Set ComColumnAutoResize to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "C1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComWidth of hoColumn to 17
			Set ComAllowSizing of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "C2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComWidth of hoColumn1 to 17
			Set ComAllowSizing of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Get ComAdd of hoColumns2 "Other" to Nothing
	Send Destroy to hoColumns2
	Set ComColumnAutoResize to True
End_Procedure
819
How can I split a cell in three parts

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComDrawGridLines to OLEexAllLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "entire" to h
		Get ComAddItem of hoItems "split 1" to h
		Get ComSplitCell of hoItems h 0 to h
		Set ComCellValue of hoItems 0 h to "split 2"
		Get ComSplitCell of hoItems 0 h to h
		Set ComCellValue of hoItems 0 h to "split 3"
		Get ComAddItem of hoItems "entire" to h
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
818
How can I find if there is any filter applied to the control

// Occurs when filter was changed.
Procedure OnComFilterChange 
	Forward Send OnComFilterChange 
	Variant v
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComVisibleItemCount of hoItems to v
	Send Destroy to hoItems
	Showln "If negative, the filter is present, else not" v
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComTreeColumnIndex to -1
	Set ComFilterInclude to OLEexMatchingItemsOnly
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterType of hoColumn to OLEexFilter
			Set ComFilter of hoColumn to "C1"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Variant h
		Get ComAddItem of hoItems1 "R1" to h
		Get ComInsertItem of hoItems1 h "C1" to Nothing
		Get ComInsertItem of hoItems1 h "C2" to Nothing
		Set ComExpandItem of hoItems1 h to True
		Get ComAddItem of hoItems1 "R2" to h
		Get ComInsertItem of hoItems1 h "C1" to Nothing
		Get ComInsertItem of hoItems1 h "C2" to Nothing
	Send Destroy to hoItems1
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
817
How can I prevent showing the lines for the hierarchy while using the exMatchingItemsOnly option

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComTreeColumnIndex to -1
	Set ComFilterInclude to OLEexMatchingItemsOnly
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterType of hoColumn to OLEexFilter
			Set ComFilter of hoColumn to "C1|C2"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "R1" to h
		Get ComInsertItem of hoItems h "C1" to Nothing
		Get ComInsertItem of hoItems h "C2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "R2" to h
		Get ComInsertItem of hoItems h "C1" to Nothing
		Get ComInsertItem of hoItems h "C2" to Nothing
	Send Destroy to hoItems
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
816
Is there any method to get only the matched items and not the items with his parent

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComFilterInclude to OLEexMatchingItemsOnly
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterType of hoColumn to OLEexFilter
			Set ComFilter of hoColumn to "C1|C2"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "R1" to h
		Get ComInsertItem of hoItems h "C1" to Nothing
		Get ComInsertItem of hoItems h "C2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "R2" to h
		Get ComInsertItem of hoItems h "C1" to Nothing
		Get ComInsertItem of hoItems h "C2" to Nothing
	Send Destroy to hoItems
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
815
Is there any property I can save and restore automatically the current setting, column position, size, and so on (2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item 1" to Nothing
		Get ComAddItem of hoItems "Item 2" to Nothing
		Get ComAddItem of hoItems "Item 3" to Nothing
	Send Destroy to hoItems
	Set ComLayout to "Select="0";SingleSort="C0:2";Columns=1"
	Send ComEndUpdate
End_Procedure
814
Is there any property I can save and restore automatically the current setting, column position, size, and so on (1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item 1" to Nothing
		Get ComAddItem of hoItems "Item 2" to Nothing
		Get ComAddItem of hoItems "Item 3" to Nothing
	Send Destroy to hoItems
	Set ComLayout to "gBjAAwAAuABmABpABsAB0ABlAByhoAPIAOEPAA9gYABoABQAgUEg0XN4AOcJicKkpujMbjsfkMFk0YhkQgUOjUEl8gjcGO0ok8KMULjEaGMcj08kQAO8oMkTNEtGwAGQAqc7gUlhh1ABtAEsk9GpEfhElgVcsMupNlnlonlaAFcr0shUsp8QPEtnVJqJhmcIhUMh0QiU5sYAqMngUSuEMw07k8Qv0SgVRrNEuVflF2jF5x9JyNEm0TjQijemyE0jE3t+YruauoAu4Az1qj9BzRn0UzksSnAA0xDjY6qnAw8OiUQ0dwzN0zWz2t7j8/xURAGNvWH6k8xlEhklhEI0O/6QAgI="
	Send ComEndUpdate
End_Procedure
813
I have noticed that the column's header is changed once the cursor hovers it. Is it possible to change that visual appearance

Procedure OnCreate
	Forward Send OnCreate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column 1" to Nothing
		Get ComAdd of hoColumns "Column 2" to Nothing
	Send Destroy to hoColumns
	Set ComBackColorHeader to |CI$1000000
	Set ComBackground OLEexCursorHoverColumn to |CI$12d86ff
End_Procedure
812
Is it possible to change the visual appearance of the columns selector/floating bar(3)

Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column 1" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Column 2" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 2 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Variant voAppearance1
	Get ComVisualAppearance to voAppearance1
	Handle hoAppearance1
	Get Create (RefClass(cComAppearance)) to hoAppearance1
	Set pvComObject of hoAppearance1 to voAppearance1
		Get ComAdd of hoAppearance1 3 "c:\exontrol\images\pushed.ebn" to Nothing
	Send Destroy to hoAppearance1
	Set ComBackground OLEexColumnsFloatAppearance to |CI$2000000
	Set ComBackground OLEexColumnsFloatBackColor to |CI$3000000
	Set ComBackground OLEexColumnsFloatCaptionBackColor to (RGB(246,245,240))
	Set ComColumnsFloatBarVisible to True
End_Procedure
811
Is it possible to change the visual appearance of the columns selector/floating bar(2)

Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column 1" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Column 2" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 3 "c:\exontrol\images\pushed.ebn" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexColumnsFloatBackColor to |CI$3000000
	Set ComColumnsFloatBarVisible to True
End_Procedure
810
Is it possible to change the visual appearance of the columns selector/floating bar(1)

Procedure OnCreate
	Forward Send OnCreate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 2 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexColumnsFloatAppearance to |CI$2000000
	Set ComBackground OLEexColumnsFloatBackColor to (RGB(246,245,240))
	Set ComBackground OLEexColumnsFloatCaptionBackColor to (RGB(246,245,240))
	Set ComColumnsFloatBarVisible to True
End_Procedure
809
I am using the ColumnsFloatBarVisible property on True, but still not able to add any column on that list

Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column 1" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Column 2" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComColumnsFloatBarVisible to True
End_Procedure
808
Is it possible to list a column to columns selector/floating bar, but still user can use it

Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column 1" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Column 2" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Column 3" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComVisible of hoColumn1 to False
			Set ComEnabled of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns
	Set ComColumnsFloatBarVisible to True
End_Procedure
807
How can I prevent a specific column not to be listed in the columns selector/floating bar

Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column 1" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Column 2" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Column 3" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComVisible of hoColumn1 to False
			Set ComAllowDragging of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns
	Set ComColumnsFloatBarVisible to True
End_Procedure
806
Is it possible to change the "Columns" caption being shown in the columns selector/floating bar

Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column 1" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Column 2" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComDescription OLEexColumnsFloatBar to "Hidden Columns"
	Set ComColumnsFloatBarVisible to True
End_Procedure
805
How can I show the columns selector, so the user can drag and drop columns to the view

Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column 1" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Column 2" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComColumnsFloatBarVisible to True
End_Procedure
804
The column's header is changed while the cursor hovers it. Is it possible to prevent that

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column 1" to Nothing
		Get ComAdd of hoColumns "Column 2" to Nothing
	Send Destroy to hoColumns
	Set ComBackground OLEexCursorHoverColumn to -1
End_Procedure
803
I noticed that when grouping on a field, its details are always expanded. Is it possible to show collapsed by default (method 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortOrder of hoColumn to OLESortAscending
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
	Send ComBeginUpdate
	Send ComEnsureVisibleColumn 0
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComExpandItem of hoItems 0 to False
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
802
I noticed that when grouping on a field, its details are always expanded. Is it possible to show collapsed by default (method 1)

// Occurs after a new Group Item has been inserted to Items collection.
Procedure OnComAddGroupItem HITEM   llItem
	Forward Send OnComAddGroupItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComExpandItem of hoItems llItem to False
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortOrder of hoColumn to OLESortAscending
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
801
Is there a possibility to expand / collapse all groups (or group by group) at runtime with a method (equivalent to pressing the + or - button in the group header)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortOrder of hoColumn to OLESortAscending
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
	Send ComEnsureVisibleColumn 0
	Send ComBeginUpdate
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComExpandItem of hoItems (ComRootItem(hoItems,0)) to False
		Set ComExpandItem of hoItems (ComRootItem(hoItems,1)) to False
		Set ComExpandItem of hoItems (ComRootItem(hoItems,2)) to False
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure